A typical computer has many devices such as a processor, a display terminal, a keyboard, a mouse, a floppy disk drive, a memory, a network card, and other peripheral devices.
Some devices in a computer are unable to communicate directly with each others because of incompatibility in design. Therefore, a typical computer may have an intermediate controller or a control hub to allow indirect communication between the devices. The indirect communication usually requires the control hub to perform many separate steps to complete one transaction or one access between two devices.
Completing an access in many steps may consume more time than necessary. Further, some peripheral devices in a computer may have a particular type of address identified by many address bits. Therefore, designing an interface to access these peripheral devices for purposes such as system management and testing may require excessive pin counts for the interface.